1. Field of the Invention:
The present invention relates to a method of precisely and securely measuring a propagation delay and a distance between nodes. More particularly, the present invention relates to a method of measuring propagation delay and a distance between nodes by using a cutting through process in a packet network and a packet network node executing the same.
2. Description of the Related Art:
Applications provided via a packet network may require digital rights management (DRM). DRM is a bundling of technologies supporting generation, distribution, and management of contents, such as securely protecting rights and profits of content providers, preventing illegal copies, imposing fees, and supporting payment agencies. A digital rights management includes technology for enabling only a legal user to use contents, a software and security technology for approving and executing copyright, and payment technology for enabling payment of a suitable fee.
To acquire an application requiring DRM, a digital media player (hereinafter, referred to as a player node) may be connected to a digital media server (hereinafter, referred to as a server node) via a packet network. In this case, an owner of the application may want to provide and replay the application in a geographically limited area.
For example, an owner of digital video disc (DVD) contents may request the contents to be transmitted and replayed by users in a certain area and not to be transmitted or replayed out of the certain area. To execute this request, a server node providing the contents has to determine whether a player node exists within a threshold distance.
In a conventional technology, to determine a distance between a server node and a player node, the server node sends a ping packet to the player node, measures a round-trip time of the ping packet, and determines a distance between the server node and the player node.
Namely, the server node sends a ping packet and records a departure time of the ping packet. The player node responds to the server node via a response packet corresponding to the received ping packet. The server node computes a round-trip time of the ping packet by an arrival time of the response packet and the departure time of the ping packet. When the round-trip time is over a predetermined delay threshold, the server node determines that the player node is out of the threshold distance and does not establish a connection to send contents.
In the conventional technology, a ping packet and a response packet may have a serious queuing delay occurring at intermediate nodes. This delay also occurs when giving a priority to the ping packet and the response packet in a non-preemptive type packet network. In such a network, the ping packet or response packet is processed after processing a frame previously being transmitted before an arrival of the ping packet or response packet.
For example, with a maximum size Ethernet frame including 1518 bytes of payload in 100 Mbps Ethernet, a queuing delay of 121 microseconds may occur in one node. Specifically, even though a ping packet passes through a small number of intermediate nodes, a considerable amount of queuing time delays in the order of milliseconds may occur. In addition, the greater the number of intermediate nodes, the greater the amount of time of the total queuing delays.
Also, in the conventional technology, when a dedicated unit is not used or a highest pre-emptive priority for processing the ping packet is not given in a process of receiving a ping packet at a player node and sending a response packet corresponding to the ping packet at a server, an additional queuing delay may occur.
Considering a delay for propagating a signal in a typical local area network (LAN) or a wide area network (WAN) of 8 nanoseconds per meter, the delay with respect to 30-100 meters will be 240 to 800 nanoseconds, namely, a time less than 1 microsecond. Hence the above queuing delay may greatly exceed the delay for propagating a signal over a threshold distance.
FIG. 1 is a diagram illustrating a conventional method of determining a propagation delay and a distance between nodes in a packet network. A server node 101 sends a ping packet 103 to a player node 102 to measure a distance between the server node 101 and the player node 102. In this case, the ping packet 103 may pass through one or more intermediate nodes 104. Though the ping packet 103 has a higher priority than other packets waiting to be sent at the intermediate node 104, a queuing delay occurs due to a packet being sent in a non-preemptive type packet network 100.
In this case, the ping packet 103 waits at the intermediate node 104 until sending of a packet 106 is completed, and therefore has the queuing delay greater than the propagation delay between nodes as described above. During the queuing delay, the ping packet may be stored in a storage 105.
To consider the queuing delay, a delay threshold in a packet network has to be established to be greater than a sum of propagation delays. However, determining a time limit for the delay threshold to be sufficient enough to avoid a refusal of providing a service to a legal user may cause a decrease in reliability of the packet network because a service may be provided to a player node beyond a threshold distance when the packet network is lightly loaded.
Accordingly, there exists a need for a method of precisely and securely measuring a propagation delay and a distance between nodes in a packet network, and a packet network node executing the same.